If gsk_transform_is_identity() returned FALSE for the next transform,
the previous code did a ref + unref pair, even though it was unneeded.
self->transform_class = transform_class;
self->category = next ? MIN (category, next->category) : category;
- self->next = gsk_transform_is_identity (next) ? NULL : gsk_transform_ref (next);
- g_clear_pointer (&next, gsk_transform_unref);
+ if (gsk_transform_is_identity (next))
+ gsk_transform_unref (next);
+ else
+ self->next = next;
return self;
}